2.3 存储位置
数据需解锁交易时提供,以解锁脚本+赎回脚本组合数据。在解锁过程中,矿工将对交易签名和其他解锁条件进行校验,据此确定数据的发起者。索引器根据区块和UTXO交易链确定交易的执行顺序,并据此验证资产交易的有效性。此类解锁签名的类型设置为 ALL | ANYONECANPAY。 本协议采用非标准脚本作为赎回脚本,与P2PKH等标准脚本不同,从而避免UTXO被误消费的情况。 本协议所使用的最简单比特币脚本示例如下。
2.3.1 非标脚本
非标脚本如以下事例,NOTE
是协议标识符,其他脚本处理解锁脚本数据以及校验签名。
- 锁定脚本:
NOTE OP_2DROP OP_2DROP OP_2DROP Pubkey OP_CHECKSIG
- 解锁脚本:
Signature DATA0 DATA1 DATA2 DATA3 DATA4
2.3.2 使用P2SH/P2WSH
在支持P2SH/P2WSH机制的区块链中按如下格式定义
- 解锁脚本:
Signature DATA0 DATA1 DATA2 DATA3 DATA4
- 赎回脚本:
NOTE OP_2DROP OP_2DROP OP_2DROP Pubkey OP_CHECKSIG
数据信息被保存在隔离见证数据区中。
2.3.3 使用P2TR
类似P2WSH,赎回脚本作为MAST的一个解锁分支。由包含数据解锁脚本提供解锁 。
在支持P2TR机制的区块链中按如下格式定义
- 解锁脚本:
Signature DATA0 DATA1 DATA2 DATA3 DATA4
- 赎回脚本:
NOTE OP_2DROP OP_2DROP OP_2DROP Pubkey OP_CHECKSIG
解锁脚本信息保存在隔离见证数据区中。
2.3.4 完全赎回
数据可以完全存储在隔离见证数据区,而不要求放在解锁脚本中。
例如:
- 解锁脚本:
Signature
- 赎回脚本:
DATA0 DATA1 DATA2 DATA3 DATA4 NOTE OP_2DROP OP_2DROP OP_2DROP Pubkey OP_CHECKSIG
以此种格式保存的数据将会拥有不一样的地址。